package com.hmy.finance.service.receiveAdjust;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hmy.finance.bo.receiveAdjust.request.QueryReceiveAdjustRequest;
import com.hmy.finance.bo.receiveAdjust.request.SaveReceiveAdjustRequest;
import com.hmy.finance.bo.receiveAdjust.request.SyncReceiveAdjustRequest;
import com.hmy.finance.bo.receiveAdjust.response.QueryAdjustRelatedContractResponse;
import com.hmy.finance.bo.receiveAdjust.response.QueryReceiveAdjustResponse;
import com.hmy.finance.bo.receiveAdjust.response.SaveReceiveAdjustResponse;
import com.hmy.finance.dal.po.receiveAdjust.ReceiveAdjustPo;

/**
 * @author wenjian
 * @description 表receive_adjust(应收调整主表)的数据库操作Service
 * @createDate 2024-02-26 10:16
 */
public interface ReceiveAdjustService extends IService<ReceiveAdjustPo> {

    Page<QueryReceiveAdjustResponse> queryPage(QueryReceiveAdjustRequest queryReceiveAdjustRequest);

    QueryReceiveAdjustResponse query(QueryReceiveAdjustRequest queryReceiveAdjustRequest);

    SaveReceiveAdjustResponse save(SaveReceiveAdjustRequest saveReceiveAdjustRequest);

    SaveReceiveAdjustResponse submit(SaveReceiveAdjustRequest saveReceiveAdjustRequest);

    Boolean delete(Long adjustId);

    QueryAdjustRelatedContractResponse queryAdjustRelatedContract(Long contractId);

    boolean sync(SyncReceiveAdjustRequest syncReceiveAdjustRequest);

}
